package com.example.emos.wx.db.mapper;


import com.example.emos.wx.db.pojo.TbUser;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;

/**
* @author ShowTimE
* @description 针对表【tb_user(用户表)】的数据库操作Mapper
* @Entity com.example.emos.ex.db.pojo.TbUser
*/
@Mapper
public interface TbUserMapper {

    boolean isRegisterRoot();

    Integer insertUser(HashMap hashMap);

    Integer selectByOpenId(String openId);

    Set<String> searchUserPermissions(int userId);

    TbUser selectById(Integer userId);

    HashMap<String,String> searchNameAndDept(Integer userId);

    HashMap<String,String> searchUserSummary(Integer userId);

    ArrayList<HashMap> searchWeekCheckin(HashMap param);

    HashMap searchTodayCheckin(Integer userId);

    long searchCheckinDays(Integer userId);

    String searchUserHiredate(Integer userId);

    ArrayList<HashMap> searchUserGroupByDept(String keyword);

    ArrayList<HashMap> searchMembers(List param);

    HashMap searchUserInfo(Integer userId);

    Integer searchGmId();

    Integer searchDeptManagerId(Integer userId);

    List<HashMap> searchUserNameAndPhoto(List list);

    String searchUserEmail(Integer userId);

    long searchUserCountInDept(Integer deptId);

    Integer searchUserIdByEmail(String email);

    Integer activeUserAccount(HashMap param);

    Integer updateUserInfo(HashMap param);

    Integer deleteUserById(Integer userId);

    ArrayList<HashMap> searchUserContactList();
}
